#pragma once
#include<math3d.h>
#include <GLTools.h>
#include <GL\freeglut.h>
#include <iostream>
#include <sstream>
#include <fstream>

class loaders //contains static functions to load textures & models
{
public:
	//loads a tga texture
	static void tex(char *fname,GLuint *texID);
	//loads 6 tga textures 
	static void cubemap(char **cubefaces, GLuint *cubeTexture);
	//loads uwsm file
	static void uwsm(char *fname, GLTriangleBatch *obj,float &minx,float &maxx,float &miny,float &maxy,float &minz,float &maxz);
	static void normGen(M3DVector3f v[3], M3DVector3f out);
	static void normGen(float *v[3], float* normal);
	static int uwsmMultiCheck(char *fname);
	static void uwsmMultiLoad(char *fname, GLTriangleBatch *obj,float &minx,float &maxx,float &miny,float &maxy,float &minz,float &maxz);
	static void overlay(char *fname,GLuint *texID);
	static void *sound(char *fname);
};

